package model;

import buffer.Source;


/**
 * The {@link HasSource} interface provides an operation to obtain a {@link Source} in which output
 * values are put.
 */
public interface HasSource<T> {
	/**
	 * Provides a {@link Source} in which output values are put.
	 * @return a {@link Source} in which output values are put.
	 */
	Source<T> getSource();
	/**
	 * Visitor accept method.
	 * @param visitor is the visitor.
	 */
	void accept(HasSourceVisitor<T> visitor);
}